/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package org.uca.dss.curso2011.grupo5;

/**
 * Implementacion de la interfaz Horario para trenes
 * @author Luis
 */
public class HorarioTren implements Horario {

    private Tren tren;
    private String horaSalida;
    private String horaLlegada;

    /**
      * @param horaSalida hora de salida del tren
      * @param horaLlegada hora de llegada del tren
      * @param tren tren que realiza ese horario
      * @throws IllegalArgumentException
      */
    public HorarioTren(String horaSalida, String horaLlegada, Tren tren) throws IllegalArgumentException
    {
        Args.comprobarCadena(horaSalida);
        Args.comprobarCadena(horaLlegada);
        Args.comprobarNulo(tren);
        
        this.horaSalida = horaSalida;
        this.horaLlegada = horaLlegada;
        this.tren = tren;
    }

    /**
      * Devuelve el tren asociado al horario
      *
      * @return el tren asociado al horario
      */
    public Tren getTren()
    {
        return tren;
    }

    /**
      * Devuelve la hora de salida del tren asociado al horario
      *
      * @return la hora de salida del tren asociado al horario
      */
   
    public String getHoraSalida()
    {
        return horaSalida;
    }

    /**
     * Devuelve la hora de salida del tren asociado al horario
     *
     * @return la hora de llegada del tren asociado al horario
     */
    public String getHoraLlegada()
    {
        return horaLlegada;
    }

    /**
      * @return el numero de asientos libres del tren asociado al horario
      */
    public int getNumAsientos()
    {
        return tren.getNumAsientos();
    }
}
